package com.example.administrator.futurehope;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import  com.fhuc.utils.AsteriskPasswordTransformationMethod;
import com.protocol.HttpAsync;
import com.protocol.URLConfig;

import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

/**
 * 
 * @author zjj
 *
 */
public class LoginActivity extends BaseActivity {
	private Button login;
	private EditText login_edittext_name, login_edittext_pass;
	private CheckBox remenber;
	private String name, psw;
	// private String URL = "http://192.168.1.88:8080";
//	private Spinner spinner;
	private ArrayAdapter<String> spinnerAdapter;
	private String[] ids;
//	TextView regist, forget;
	// 填写从短信SDK应用后台注册得到的APPKEY
	// 此APPKEY仅供测试使用，且不定期失效，请到mob.com后台申请正式APPKEY
	private static String APPKEY = "1025ab1a87d04";

	// 填写从短信SDK应用后台注册得到的APPSECRET
	private static String APPSECRET = "de66df54d440474e0d575102caa26ba0";
	private boolean ready;
	String phone;
	// 短信注册，随机产生头像
	private static final String[] AVATARS = {
			"http://tupian.qqjay.com/u/2011/0729/e755c434c91fed9f6f73152731788cb3.jpg",
			"http://99touxiang.com/public/upload/nvsheng/125/27-011820_433.jpg",
			"http://img1.touxiang.cn/uploads/allimg/111029/2330264224-36.png",
			"http://img1.2345.com/duoteimg/qqTxImg/2012/04/09/13339485237265.jpg",
			"http://diy.qqjay.com/u/files/2012/0523/f466c38e1c6c99ee2d6cd7746207a97a.jpg",
			"http://img1.touxiang.cn/uploads/20121224/24-054837_708.jpg",
			"http://img1.touxiang.cn/uploads/20121212/12-060125_658.jpg",
			"http://img1.touxiang.cn/uploads/20130608/08-054059_703.jpg",
			"http://diy.qqjay.com/u2/2013/0422/fadc08459b1ef5fc1ea6b5b8d22e44b4.jpg",
			"http://img1.2345.com/duoteimg/qqTxImg/2012/04/09/13339510584349.jpg",
			"http://img1.touxiang.cn/uploads/20130515/15-080722_514.jpg",
			"http://diy.qqjay.com/u2/2013/0401/4355c29b30d295b26da6f242a65bcaad.jpg" };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.login);
		findView();
		init();
		SetListner();
	}

	@Override
	public void findView() {
		login = (Button) findViewById(R.id.login);
		login_edittext_name = (EditText) findViewById(R.id.login_edittext_name);
		login_edittext_pass = (EditText) findViewById(R.id.login_edittext_pass);
		remenber = (CheckBox) findViewById(R.id.remenber);
//		spinner = (Spinner) findViewById(R.id.login_spinner);
//		regist = (TextView) findViewById(R.id.regist);
//		forget = (TextView) findViewById(R.id.forget);
		login_edittext_pass.setTransformationMethod(new AsteriskPasswordTransformationMethod());
	}

	@Override
	public void init() {
//		regist.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
		// initSDK();
		if (sp.readRememberPassword()) {
			Map<String, String> map = sp.readUser();
			String name = map.get("name");
			String psw = map.get("password");
			if (!psw.equals("")) {
				remenber.setChecked(true);
			}
			login_edittext_name.setText(name);
			login_edittext_pass.setText(psw);
		}
//		spinnerAdapter = new ArrayAdapter<String>(this, R.layout.spnner_item, R.id.textView);
//
//		// spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//		spinner.setAdapter(spinnerAdapter);

	}

	@Override
	public void SetListner() {
		login.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				remenberPassword();
				if (checklodin()) {
					// if (checklodin() && checkorg()) {
					// if (ids != null && ids.length > 0) {
					Intent intent=new Intent(LoginActivity.this,MainActivity.class);
					startActivity(intent);
//					login();
					// }
				}

				// Intent intent = new Intent(LoginActivity.this,
				// MainActivity.class);
				// startActivity(intent);
				// onBackPressed();

			}
		});

		// spinner.setOnTouchListener(new OnTouchListener() {
		//
		// @Override
		// public boolean onTouch(View v, MotionEvent event) {
		// name = login_edittext_name.getText().toString();
		// psw = login_edittext_pass.getText().toString();
		// if (checklodin()) {
		// getgetDate();
		//
		// }
		// return false;
		// }
		// });
//		regist.setOnClickListener(new OnClickListener() {
//
//			@Override
//			public void onClick(View v) {
//				// 打开注册页面
//				// RegisterPage registerPage = new RegisterPage();
//				// registerPage.setRegisterCallback(new EventHandler() {
//				// public void afterEvent(int event, int result, Object data) {
//				// // 解析注册结果
//				// if (result == SMSSDK.RESULT_COMPLETE) {
//				// @SuppressWarnings("unchecked")
//				// HashMap<String, Object> phoneMap = (HashMap<String, Object>)
//				// data;
//				// String country = (String) phoneMap.get("country");
//				// phone = (String) phoneMap.get("phone");
//				// // 提交用户信息
//				// registerUser(country, phone);
//				// }
//				// }
//				// });
//				// registerPage.show(LoginActivity.this);
//
//				Intent intent = new Intent(LoginActivity.this, RegistUserActivity.class);
//				// SMSSDK.getVerificationCode("86", "13087579225");
//				// registerUser("86", "13087579225");
//				startActivity(intent);
//			}
//		});

//		forget.setOnClickListener(new OnClickListener() {
//
//			@Override
//			public void onClick(View v) {
//				Intent intent = new Intent(LoginActivity.this, ForgetPswActivity.class);
//				startActivity(intent);
//			}
//		});
	}
	
	
	@Override
	protected void onNewIntent(Intent intent) {
		String p=intent.getStringExtra("phone");
		if (!isnull(p)) {
			login_edittext_name.setText(p);
		}
		// TODO Auto-generated method stub
		super.onNewIntent(intent);
	}

	// // 提交用户信息
	// private void registerUser(String country, String phone) {
	// Random rnd = new Random();
	// int id = Math.abs(rnd.nextInt());
	// String uid = String.valueOf(id);
	// String nickName = "SmsSDK_User_" + uid;
	// String avatar = AVATARS[id % 12];
	// SMSSDK.submitUserInfo(uid, nickName, avatar, country, phone);
	// }

	public void remenberPassword() {
		name = login_edittext_name.getText().toString();
		psw = login_edittext_pass.getText().toString();
		/**
		 *
		 */
		if (remenber.isChecked()) {
			sp.writeRememberPassword(true);
			sp.writeUser(name, psw);

		} else {
			sp.writeRememberPassword(true);
			sp.writeUser(name, "");
		}
	}

	public boolean checkorg() {

		if (ids == null || ids.length == 0) {
			showToast("未选择组织");
		}

		return true;
	}

	public boolean checklodin() {
		if (name.equals("")) {
			showToast("请输入用户名");
			return false;
		}
		if (psw.equals("")) {
			showToast("请输入密码");
			return false;
		}

		return true;
	}

	public void login() {
		String name=login_edittext_name.getText().toString();
		String psd=login_edittext_pass.getText().toString();
		String path="http://192.168.1.150:8088/officemanager/loginpor/"+name+"&"+psd;
		HttpAsync.gethttp(path).enqueue(new Callback() {
			@Override
			public void onFailure(Call call, IOException e) {
				showToast("登录失败");
			}

			@Override
			public void onResponse(Call call, Response response) throws IOException {
				String htmlStr = response.body().string();
//				Message message = new Message();
//				message.obj = htmlStr;
				Intent intent=new Intent(LoginActivity.this,MainActivity.class);
				startActivity(intent);
			}
		});


	}

	@Override
	public void onBackPressed() {

		super.onBackPressed();
	}

//	public void getgetDate() {
//		AsyncThread thread = new AsyncThread(LoginActivity.this) {
//
//			@Override
//			public Object executeRun(Object... params) {
//				String path1 = URLConfig.ORGNIZE;
//				String result = HttpAsync.GetDate(path1 + "?loginId=" + name);
//				return result;
//			}
//
//			@Override
//			public void executeBefore() {
//				startProgressDialog("获取中...");
//			}
//
//			@Override
//			public void executeAfter(Object obj) {
//				stopProgressDialog();
//				String result = (String) obj;
//				if (!result.equals("")) {
//
//					try {
//						JSONArray array = new JSONArray(result);
//						if (array != null && array.length() > 0) {
//							ids = new String[array.length()];
//							for (int i = 0; i < array.length(); i++) {
//
//								JSONObject object = array.getJSONObject(i);
//								String id = object.getString("id");
//								String name = object.getString("name");
//								ids[i] = id;
//								spinnerAdapter.clear();
//								spinnerAdapter.add(name);
//							}
//							spinner.performClick();
//						}
//
//					} catch (JSONException e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
//
//				} else {
//					showToast("未获取到数据");
//				}
//			}
//		};
//		thread.start();
//	}
//
//	public void getData2() {
//		AsyncThread thread = new AsyncThread(LoginActivity.this) {
//
//			@Override
//			public Object executeRun(Object... params) {
//
//				String result = "";
//				String path2 = URLConfig.LODIN;
//				Long orgId = (long) 1;
//				try {
//					JSONObject object = new JSONObject();
//					object.put("loginId", name);
//					object.put("passWord", psw);
//					object.put("orgId", orgId);
//					String str = object.toString();
//					result = HttpAsync.HttpPost2(path2, str);
//
//				} catch (JSONException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
//
//				return result;
//			}
//
//			@Override
//			public void executeBefore() {
//				startProgressDialog("登陆中...");
//			}
//
//			@Override
//			public void executeAfter(Object obj) {
//				stopProgressDialog();
//				String result = (String) obj;
//				if (!result.equals("")) {
//					try {
//						JSONObject object = new JSONObject(result);
//						String status = object.getString("status");
//						if (Integer.parseInt(status) > 0) {
//							String token = object.getString("token");
//							// String userType = object.getString("userType");
//							String loginId = object.getString("loginId");
//							String loginName = object.getString("loginName");
//							// String orgId = object.getString("rootOrgId");
//							String userID = object.getString("userId");
//							// String orgName = object.getString("orgName");
//							String photo = object.getString("photo");
//							photo = URLConfig.URL + photo;
//							User user = new User(token, loginId, loginName, photo, userID);
//							// FhucAppliacation app = (FhucAppliacation)
//							// getApplication();
//							app.setUser(user);
//							app.setIsinit(true);
//							// getMenuData(token, orgId);
//							getOrgUserByUserId(userID);
//						} else {
//							showToast("用户名或密码错误");
//							stopProgressDialog();
//						}
//					} catch (JSONException e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
//				} else {
//					showToast("网络异常");
//					stopProgressDialog();
//				}
//			}
//		};
//		thread.start();
//	}
//
//	public void getMenuData(final String token, final String orgId) {
//		AsyncThread thread = new AsyncThread(LoginActivity.this) {
//
//			@Override
//			public Object executeRun(Object... params) {
//
//				String result = "";
//				String path = URLConfig.MAIN_MENU;
//
//				try {
//					JSONObject object = new JSONObject();
//					// object.put("token", token);
//					// object.put("orgId", orgId);
//					// object.put("moduleName", "FhEduSystem");
//					// String str = object.toString();
//					result = HttpAsync
//							.GetDate(path + "?token=" + token + "&orgId=" + orgId + "&moduleName=FhEduSystem");
//				} catch (Exception e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
//
//				return result;
//			}
//
//			@Override
//			public void executeBefore() {
//
//			}
//
//			@Override
//			public void executeAfter(Object obj) {
//				stopProgressDialog();
//				String result = (String) obj;
//				if (!result.equals("")) {
//
//					try {
//						JSONArray array = new JSONArray(result);
//						if (array != null && array.length() > 0) {
//							ArrayList<Menu> mus = new ArrayList<Menu>();
//							ArrayList<Menuitem> mis = new ArrayList<Menuitem>();
//							for (int i = 0; i < array.length(); i++) {
//								JSONObject object = array.getJSONObject(i);
//								String id = object.getString("id");
//								String pId = object.getString("pId");
//								String name = object.getString("name");
//								String url = object.getString("url");
//								if (Integer.parseInt(pId) == 0) {
//									Menu mu = new Menu();
//									mu.setId(id);
//									mu.setpId(pId);
//									mu.setName(name);
//									mus.add(mu);
//
//								} else {
//									Menuitem mi = new Menuitem();
//									mi.setId(id);
//									mi.setpId(pId);
//									mi.setName(name);
//									mi.setUrl(url);
//									mis.add(mi);
//								}
//
//							}
//							ArrayList<Menuitem> mitems = null;
//							for (int i = 0; i < mus.size(); i++) {
//								String id = mus.get(i).getId();
//								ArrayList<String> item = new ArrayList<String>();
//								mitems = new ArrayList<>();
//								for (int j = 0; j < mis.size(); j++) {
//									String pid = mis.get(j).getpId();
//									if (Integer.parseInt(id) == Integer.parseInt(pid)) {
//										Menuitem mitem = new Menuitem();
//										item.add(mis.get(j).getName());
//										mitem.setId(mis.get(j).getId());
//										mitem.setpId(mis.get(j).getpId());
//										mitem.setUrl(mis.get(j).getUrl());
//										mitem.setName(mis.get(j).getName());
//										mitems.add(mitem);
//									}
//
//								}
//								mus.get(i).setMenuitem(mitems);
//
//							}
//							// Intent intent = new Intent(LoginActivity.this,
//							// MainActivity.class);
//							Intent intent = new Intent(LoginActivity.this, SetStudentStageActivity.class);
//							intent.putExtra("mus", mus);
//							startActivity(intent);
//							onBackPressed();
//						} else {
//							showToast("菜单项未获取到");
//						}
//					} catch (JSONException e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
//
//				} else {
//					showToast("登陆失败");
//				}
//			}
//		};
//		thread.start();
//	}
//
//	// public void initSDK() {
//	// // 初始化短信SDK
//	// //SMSSDK.initSDK(this, APPKEY, APPSECRET, true);
//	// SMSSDK.initSDK(this, APPKEY, APPSECRET);
//	// // if (APPKEY.equalsIgnoreCase("f3fc6baa9ac4")) {
//	// // Toast.makeText(this, "此APPKEY仅供测试使用，且不定期失效，请到mob.com后台申请正式APPKEY",
//	// // Toast.LENGTH_SHORT).show();
//	// // }
//	// final Handler handler = new Handler(LoginActivity.this);
//	// EventHandler eventHandler = new EventHandler() {
//	// public void afterEvent(int event, int result, Object data) {
//	// Message msg = new Message();
//	// msg.arg1 = event;
//	// msg.arg2 = result;
//	// msg.obj = data;
//	// handler.sendMessage(msg);
//	// }
//	// };
//	// // 注册回调监听接口
//	// SMSSDK.registerEventHandler(eventHandler);
//	// ready = true;
//	// //
//	// // // 获取新好友个数
//	// // showDialog();
//	// // SMSSDK.getNewFriendsCount();
//	// // gettingFriends = true;
//	// }
//
//	// @Override
//	// public boolean handleMessage(Message msg) {
//	// int event = msg.arg1;
//	// int result = msg.arg2;
//	// Object data = msg.obj;
//	// if (event == SMSSDK.EVENT_SUBMIT_USER_INFO) {
//	// // 短信注册成功后，返回MainActivity,然后提示新好友
//	// if (result == SMSSDK.RESULT_COMPLETE) {
//	// Intent intent = new Intent(LoginActivity.this, RegistUserActivity.class);
//	// intent.putExtra("phone", phone);
//	// startActivity(intent);
//	// } else {
//	// ((Throwable) data).printStackTrace();
//	// }
//	// }
//	// return false;
//	// }
//	//
//	// protected void onDestroy() {
//	// if (ready) {
//	// // 销毁回调监听接口
//	// SMSSDK.unregisterAllEventHandler();
//	// }
//	// super.onDestroy();
//	// }
//	//
//	// @Override
//	// protected void onResume() {
//	// super.onResume();
//	// // if (ready && !gettingFriends) {
//	// // // 获取新好友个数
//	// // showDialog();
//	// // SMSSDK.getNewFriendsCount();
//	// // }
//	// }
//	//
//	// @Override
//	// protected void onPause() {
//	// super.onPause();
//	// }
//
//	public void getOrgUserByUserId(final String userId) {
//		AsyncThread thread = new AsyncThread(LoginActivity.this) {
//
//			@Override
//			public Object executeRun(Object... params) {
//
//				String path = URLConfig.GETORGUSERBYUSERID;
//				String result = "";
//				try {
//					JSONObject object = new JSONObject();
//					object.put("userId", userId);
//					String str = object.toString();
//					result = HttpAsync.HttpPost2(path, str);
//				} catch (JSONException e) {
//					e.printStackTrace();
//				}
//				return result;
//			}
//
//			@Override
//			public void executeBefore() {
//				// TODO Auto-generated method stub
//
//			}
//
//			@Override
//			public void executeAfter(Object obj) {
//				String result = String.valueOf(obj);
//				if (!isnull(result)) {
//					try {
//						JSONObject ob = new JSONObject(result);
//
//						String r = ob.getString("result");
//						if (Integer.parseInt(r) > 0) {
//							// orgUserId = ob.getString("orgUserId");
//							// orgId = ob.getString("orgId");
//							// ordName = ob.getString("ordName");
//							// roleId = ob.getString("roleId");
//							// roleName = ob.getString("roleName");
//							// //GrageId = ob.getString("parentOrgId");
//							// isUpdate = true;
//							// getTopics();
//							SharedPreferences sp = getSharedPreferences("Grage", MODE_PRIVATE);
//							String GrageId = sp.getString("GrageId", "");
//							// if (!GrageId.equals("")) {
//							if (!GrageId.equals("")) {
//								Intent intent = new Intent(LoginActivity.this, MainFragment.class);
//								startActivity(intent);
//							} else {
//								Intent intent = new Intent(LoginActivity.this, SetStudentStageActivity.class);
//								intent.putExtra("isUpdate", true);
//								startActivity(intent);
//							}
//							// } else {
//							// }
//							onBackPressed();
//						} else {
//							// isUpdate = false;
//							Intent intent = new Intent(LoginActivity.this, SetStudentStageActivity.class);
//							intent.putExtra("isUpdate", false);
//							startActivity(intent);
//						}
//					} catch (JSONException e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
//				} else {
//					showToast("请查看网络链接");
//					onBackPressed();
//				}
//			}
//		};
//		thread.start();
//	}

}
